﻿// ********************************************
// ClassName  ：  VitalSignData.cs
// Author        ：
// Company     ： 智测心控
// Version        ：V1.0
// CreateTime ： {date}
// Description ：
// ********************************************

using System;
using System.Collections.Generic;
using DcpServer.Model;
using DcpServer.Model.Enum;

namespace DcpServer.Domain.Dto
{
    /// <summary>
    /// 生命体征数据
    /// </summary>
    public class VitalSignData
    {
        /// <summary>
        /// 构造函数
        /// </summary>
        public VitalSignData()
        {
            EventReviews = new List<EventReview>();
            
            WaveEventList = new List<EventReview>();

            ValueData = new ValueData()
            {
                Id = Guid.NewGuid(),
                SerialNo = -1,
            };

            WaveData = new WaveData
            {
                Id = Guid.NewGuid(),
                ArchiveRecordsId = Guid.Empty
            };

            WaveDataCache = new List<WaveDataCacheModel>();
        }
        
        /// <summary>
        /// 构造函数
        /// </summary>
        public VitalSignData(Guid preArchiveId)
        {
            EventReviews = new List<EventReview>();
            
            WaveEventList = new List<EventReview>();

            ValueData = new ValueData()
            {
                Id = Guid.NewGuid(),
                SerialNo = -1,
            };

        }

        /// <summary>
        /// 序号
        /// </summary>
        public int SerialNo { get; set; }

        /// <summary>
        /// 包段数
        /// </summary>
        public int PackageCount { get; set; }

        /// <summary>
        /// 值数据
        /// </summary>
        public ValueData ValueData { get; set; }

        /// <summary>
        /// 波形数据
        /// </summary>
        public WaveData WaveData { get; set; }

        /// <summary>
        /// 波形数据缓存
        /// </summary>
        public List<WaveDataCacheModel> WaveDataCache { get; set; }

        /// <summary>
        /// 事件集合
        /// </summary>
        public List<EventReview> EventReviews { get; set; }
        
        /// <summary>
        /// 事件集合
        /// </summary>
        public List<EventReview> WaveEventList { get; set; }

        /// <summary>
        /// 血压数据
        /// </summary>
        public NibpReview NibpReview { get; set; }

        public DateTime SendTime { get; set; }
    }
}